# @Time : 2021/4/3 9:58
# @Author : Fioman 
# @Phone : 13149920693
"""
项目用到的配置文件,主要用来保存项目的一些配置,例如是否是调试模式,一些路径配置问题
"""
import sys
import os

# 是否是开发者模式
DEVELOP = True if len(sys.argv) >= 2 else False

# 主线程是否在运行的标志
IS_MAIN_ALIVE = False

# 项目的根目录,也就是python目录所在的绝对路径
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
WEB_PATH = os.path.join(BASE_DIR, "web")
ZMC_LIB_PATH = os.path.join(BASE_DIR, r'dll\zmotion.dll')
AUX_ZMC_LIB_PATH = os.path.join(BASE_DIR, r'dll\zauxdll.dll')
CAMERA_LIB_PATH = os.path.join(BASE_DIR, r"dll\MvCameraControl.dll")
PROJECT_NAME = "plate_placing_machine"  # 用来显示日志,以及创建数据库名的时候使用
DATABASE_NAME = "{}_params".format(PROJECT_NAME)

# 1.日志文件保存的目录
DEBUG_DIR = os.path.join(BASE_DIR,"debug")
# 2.数据库备份的目录
DATA_BASE_DUMP_DIR = r"D:\db_data\data_dump"
# 3.数据库导入的目录
DATA_BASE_IMPORT_DIR = r"D:\db_data\data_import"
# # 4. 保存识别陈功的图片路径
# RAW_OK_DIR = r"D:\raw\raw_ok"
# # 5. 保存识别失败的图片路径
# RAW_FAIL_DIR = r"D:\raw\raw_fail"
# # 6. 保存识别结果的图片路劲
# RAW_RES_DIR = r"D:\raw\ok_res"
# # 7. 保存标定图片
# RAW_DEMARCATE_DIR = r"D:\demarcate_res"
# # 8. 保存失败的结果的图片
# RAW_FAIL_RES_DIR = r"D:\raw\fail_res"



# 然后就是项目启动的时候自检,这些路径是否都存在,如果不存在就创建
filePathList = [
    DEBUG_DIR,  # 1. 日志目录
    DATA_BASE_DUMP_DIR,  # 2. 数据库备份目录
    DATA_BASE_IMPORT_DIR,  # 3. 数据库导入目录
    # RAW_OK_DIR,
    # RAW_FAIL_DIR,
    # RAW_RES_DIR,
    # RAW_DEMARCATE_DIR,
    # RAW_FAIL_RES_DIR

]
for filePath in filePathList:
    if not os.path.exists(filePath):
        os.makedirs(filePath)

# mainZmc用到的各种bit位置
BOARD_THICKNESS_LV_01 = 78  # 放板厚度LV1的ieee位置
BOARD_THICKNESS_LV_02 = 82  # 放板厚度LV2的ieee位置
TO_LV_01 = 50 # 作业去向LV01的bit位
TO_LV_02 = 51 # 作业去向LV02的bit位
LV_01_FULL_STATE = 30
LV_02_FULL_STATE = 31

# 机械手坐标的极限位置:
ROBOT_LIMIT_X_MIN = -770 # 机械手坐标X的最小值
ROBOT_LIMIT_X_MAX = -400 # 机械手坐标X的最大值
ROBOT_LIMIT_Y_MIN = -630 # 机械手坐标Y的最小值
ROBOT_LIMIT_Y_Max = -310 # 机械手坐标Y的最大值
